package stu.sup.service.impl;

import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import stu.sup.entity.UserLogin;
import stu.sup.entity.UserLoginExample;
import stu.sup.mapper.UserLoginMapper;

import stu.sup.service.IUserLoginService;
import stu.sup.util.JsonResult;

import java.util.List;

/**
 * 本类用来演示：
 *
 * @author:Administrator
 * @data:2020/6/23 0023
 */
@Service
@Transactional
public class UserLoginServiceImpl implements IUserLoginService {
    @Autowired
    private UserLoginMapper userLoginMapper;


    @Override
    public int register(UserLogin userLogin) {

        return userLoginMapper.insert(userLogin);
    }

    @Override
    public JsonResult getByUsername(String username) {
        UserLogin userLogin = null;

        UserLoginExample userLoginExample = new UserLoginExample();
        UserLoginExample.Criteria criteria = userLoginExample.createCriteria();

        criteria.andUsernameEqualTo(username);

        List<UserLogin> userLoginList = userLoginMapper.selectByExample(userLoginExample);

        if (userLoginList.size() != 0){
            userLogin = userLoginList.get(0);
            return new JsonResult(0,"此用户名已存在",userLogin);
        }else {
            return new JsonResult(1,"此用户名不存在,可以注册",userLogin);
        }
    }

    @Override
    public int updateByPrimaryKeySelective(UserLogin userLogin) {
        return userLoginMapper.updateByPrimaryKeySelective(userLogin);
    }

//    @Override
//    public UserLogin login(UserLogin userLogin) {
//        userLogin =userLoginMapper.selectByUserName(userLogin.getUsername());
//
//        if (null != userLogin){
//            if (userLogin.getPassword().equals(userLogin.getPassword())){
//
//                BeanUtils.copyProperties(userLogin,userLogin);
//                userLogin.setLogin(0);//成功
//            }else{
//                userLogin.setLogin(2);//密码不同
//            }
//        }else {
//            userLogin.setLogin(1);//用户不存在
//        }
//        return userLogin;
//    }

    @Override
    public JsonResult loginByUserAndPwd(String userName, String password,String status) {
        System.out.println("userName"+userName);
        System.out.println("password"+password);

        UserLogin userLogin = null;
        UserLoginExample userLoginExample = new UserLoginExample();
        UserLoginExample.Criteria criteria = userLoginExample.createCriteria();
        criteria.andUsernameEqualTo(userName);
        criteria.andPasswordEqualTo(password);
        criteria.andStatusEqualTo(status);

        List<UserLogin> userLoginList = userLoginMapper.selectByExample(userLoginExample);

        if (userLoginList.size() != 0){
            userLogin = userLoginList.get(0);
            return new JsonResult(0,"查询到该用户,可以登录",userLogin);
        }else {
            return new JsonResult(1, "对不起,该用户不存在,请先注册", userLogin);
        }
    }

    @Override
    public UserLogin selectbyUsername(String name) {

        return userLoginMapper.selectByUserName(name);
    }
}